A programmable logic controller (PLC) is used to monitor input signals from a variety of input points (i.e., input sensors) that report events and conditions occurring in a controlled process. For example, a PLC can monitor such input conditions as motor speed, temperature, pressure, volumetric flow and the like. A control program is stored in a memory within the PLC to instruct the PLC what actions to take upon encountering particular input signals or conditions. In response to these input signals provided by the input sensors, the PLC derives and generates output signals that are transmitted, via PLC output points, to various output devices, such as actuators and relays, to control the process. For example, as an output signal to speed up or slow down a conveyer, rotate the arm of a robot, open or close a relay, raise or lower temperature, as well as many other possible control functions.
The input and output points referred to above are typically associated with input modules and output modules, respectively. Input modules and output modules are collectively referred to as I/O modules herein. Those skilled in the art alternatively refer to such I/O modules as I/O cards or I/O boards. These I/O modules are typically pluggable into respective slots located on a backplane board provided by the PLC. The slots are coupled together by a main bus that couples any I/O module plugged into the slots to a central processing unit (CPU). The CPU itself can be located on a card that is pluggable into a dedicated slot on the backplane board of the PLC.
In the past, many control systems used a proprietary communications protocol for transmitting data between the PLC, I/O modules, and other PLCs. Today, however, many control system devices use a standard communications protocol such as Ethernet and others.
A gateway has been used to provide an interface between an Ethernet based local area network and another local area network. As such, a gateway provides the functions of a router, as well as protocol conversion between the two local area networks. Thus, a gateway allows legacy I/O modules and PLCs, that do not use Ethernet, to be operatively connected to an Ethernet based local area network.
In many control systems, PLCs are arranged in a master/slave network that includes a master PLC and a plurality of remote slave units that can be other PLCs or devices. In this type of a network, the master PLC controls its own I/O connection points and it can also control the respective I/O connection points for the remote slave unit(s). The control commands from the master PLC are derived from data obtained from the remote slave units, which is obtained from the I/O module(s) connected to each remote slave unit.
In obtaining data from the remote slave units, the master PLC polls the I/O state of the slave units to determine if they have been changed. If a change of state has occurred, then the I/O state is written to the master PLC.
Accordingly, the master PLC must scan each remote unit to determine if an I/O state change has occurred, which can be a time consuming task.